package com.baosight.risk.api.riim;

import java.util.List;
import java.util.Map;

import com.baosight.risk.base.service.BaseService;
import com.baosight.risk.service.quartz.entity.SyncEmpleeEntitiy;
import com.baosight.risk.service.riim.entity.RiimRiskGoalDetail;
import com.baosight.risk.service.riim.entity.RiimRiskImport;
import com.baosight.risk.service.riim.vo.RiimRiskImportVO;
import com.baosight.risk.service.rire.entity.RireRiskWarningStatus;
import com.baosight.risk.service.riri.entity.RiriRisk;
import com.baosight.risk.service.xtzy.entity.XtzyUser;

public interface RiimRiskImportService extends BaseService<RiimRiskImport> {

    List<RiimRiskImport> selectList(RiimRiskImportVO riskImport, XtzyUser user);

    List<RiimRiskImport> queryShiShi(RiimRiskImportVO riskImport);

    List<RiimRiskImport> getByIds(List<String> ids);

    Integer updateRiskImport(RiimRiskImport riskImport);

    void saveImportList(List<String> riskNoList) throws Exception;
    Boolean saveSingleReport(String id) throws Exception;

    Boolean saveSendList(List<RiimRiskImport> riskImportList) throws Exception;

    Boolean saveSendReport(String jobParam, String manageCompCode, String jobId)throws Exception;

    Integer saveImportByRisk(List<RiriRisk> ririRiskList) throws Exception;

    Integer updateImportList(List<RiimRiskImport> riskImportList);

    Integer updateStatus(String id, String status, String statusName);

    Integer deleteImport(List<String> ids) throws Exception;

    Integer updateImport(RiimRiskImportVO importVO) throws Exception;

    RiimRiskImportVO getImport(String id);

    List<RiimRiskGoalDetail> selectByType(String goalId, String typeFlag);

    Map importWord(String id);

    Map mainImportWord(List<String> importIds);

    void updateStatus(List<String> ids, String ext1, String ext2, String ext3, String ext4);

    void saveImport(RiimRiskImport riimRiskImport);

    void updateRowOrder(RiimRiskImportVO riskImport, XtzyUser user);

    Integer doChangeRes(RiimRiskImport riimRiskImport);

    void addDutyUser(SyncEmpleeEntitiy employee, RiimRiskImport riimRiskImport) throws Exception;

    List<RireRiskWarningStatus> copyImportByRisk(List<String> ids, String year,String quarter) throws Exception;

    Boolean copyAndIssue(List<String> ids, String year,String quarter) throws Exception;

    void saveConclusion(List<RiimRiskImport> list) throws Exception;
    
    void shiftDuty(String compCode, String newUserCode, String oldUserCode);
}
